<?php

require_once 'ConfigClement.php';
require_once 'dateCalcul.php';

class Comptabilite
{
	private $id;
	private $id_dossier;
	private $id_emprunt;
	private $date_debut;
	private $date_fin;
	private $numero_contrat;
	private $compagnie;
	private $prime_assurance;
	private $taux_commission;
	private $commission_banque;
	private $commission_courtier;
	
	public function __construct($id_dossier, $id_emprunt, $date_debut, $date_fin, $numero_contrat,
			$compagnie, $prime_assurance, $taux_commission, $commission_banque, $commission_courtier)
	{
		$this -> id_dossier = $id_dossier;
		$this -> id_emprunt = $id_emprunt;
		$this -> date_debut = $date_debut;
		$this -> date_fin = $date_fin;
		$this -> numero_contrat = $numero_contrat;
		$this -> compagnie = $compagnie;
		$this -> prime_assurance = $prime_assurance;
		$this -> taux_commission = $taux_commission;
		$this -> commission_banque = $commission_banque;
		$this -> commission_courtier = $commission_courtier;
	}
	
	
	public function __set($attr,$value)
	{
		if(isset($this->$attr)) $this->$attr = $value;
		else throw new Exception('Unknow attribute '.$attr);
	}
	
	public function __get($attr)
	{
		if (($attr == 'date_debut' || $attr == 'date_fin') && $this->$attr == '01-01-1970'){
			return "";
		}
		
		if(isset($this->$attr)) return $this->$attr;
		else throw new Exception('Unknow attribute '.$attr);
	}
	
	public function setAllValueComptabilite($date_debut, $date_fin, $numero_contrat,
			$compagnie, $prime_assurance, $taux_commission, $commission_banque, $commission_courtier)
	{
		$this -> date_debut = $date_debut;
		$this -> date_fin = $date_fin;
		$this -> numero_contrat = $numero_contrat;
		$this -> compagnie = $compagnie;
		$this -> prime_assurance = $prime_assurance;
		$this -> taux_commission = $taux_commission;
		$this -> commission_banque = $commission_banque;
		$this -> commission_courtier = $commission_courtier;
	}
	
	public function deleteComptabilite()
	{
	
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;	
	
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
	
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "DELETE FROM comptabilite where id_dossier = $this->id";
	
			$resultat = mysql_query ($requete);
			if (!$resultat) {
				echo "Impossible d'exêcuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
	}
	
	public function saveComptabilite()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		
		$date_debut = changeDateFRtoUS ($this->date_debut);
		$date_fin = changeDateFRtoUS ($this->date_fin);

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	 
			$requete = "INSERT INTO comptabilite (id_dossier, id_emprunt, date_debut, date_fin, numero_contrat, compagnie, prime_assurance, taux_commission, commission_banque, commission_courtier)
						VALUES($this->id_dossier, $this->id_emprunt, '$date_debut','$date_fin', '$this->numero_contrat', '$this->compagnie', $this->prime_assurance, $this->taux_commission, $this->commission_banque, $this->commission_courtier)";
			echo $requete;
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
	}
	
	public static function getLastIdByDossier($id_dossier)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		$id_compta = -1;
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT MAX(id) FROM comptabilite WHERE id_banque = '$id_dossier'";
			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'exêcuter la requête  dans la base : " . mysql_error();
				exit;
			}
				
			if ($ligne = mysql_fetch_assoc($resultat)) {
				$id_compta = $ligne['MAX(id)'];
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $id_compta;
	}
	
	public static function getComptaByEmprunt($id_emprunt)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		$id_compta = -1;
		$compta = null;
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "SELECT * FROM comptabilite WHERE id_emprunt = $id_emprunt";
			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'exêcuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
			if ($ligne = mysql_fetch_assoc($resultat)) {
				$compta = new Comptabilite($ligne['id_dossier'], $ligne['id_emprunt'], changeDateUStoFR ($ligne['date_debut']), changeDateUStoFR ($ligne['date_fin']), $ligne['numero_contrat'], $ligne['compagnie'], 
						$ligne['prime_assurance'], $ligne['taux_commission'], $ligne['commission_banque'], $ligne['commission_courtier']);
				$compta->id = $ligne['id'];
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
		return $compta;
	}
	
	
	public static function getListComptaByDossier($id)
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		$compta = null;

		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
		
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
		
			$requete = "SELECT * FROM comptabilite WHERE id_dossier = $id";
			$resultat = mysql_query ($requete);
				
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
			
			$list_compta = array();
		
			while ($ligne = mysql_fetch_assoc($resultat)) {
				
				$compta = new Comptabilite($ligne['id_dossier'], $ligne['id_emprunt'], changeDateUStoFR ($ligne['date_debut']), changeDateUStoFR ($ligne['date_fin']), $ligne['numero_contrat'], $ligne['compagnie'], 
						$ligne['prime_assurance'], $ligne['taux_commission'], $ligne['commission_banque'], $ligne['commission_courtier']);
				$compta->id = $ligne['id'];
				$list_compta[] = $compta;
			}
				
				
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
		
		mysql_close($con);
		return $list_compta;
		
	}
	
	public function updateComptabilite()
	{
		$serveur = ConfigClement::$serveur;
		$nom_base = ConfigClement::$nom_base;
		$loginBd = ConfigClement::$loginBd;
		$motdepasse = ConfigClement::$motdepasse;
		
		$date_debut = changeDateFRtoUS ($this->date_debut);
		$date_fin = changeDateFRtoUS ($this->date_fin);

		//mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
		$con = mysql_connect ($serveur,$loginBd,$motdepasse);
		if ($con) {
	
			mysql_select_db($nom_base)or die ('ERREUR '.mysql_error());
	
			$requete = "UPDATE comptabilite SET id_emprunt = $this->id_emprunt, id_dossier = $this->id_dossier, date_debut = '$date_debut', date_fin = '$date_fin', numero_contrat = '$this->numero_contrat', 
			compagnie = '$this->compagnie', prime_assurance = $this->prime_assurance, taux_commission = '$this->taux_commission', commission_banque = $this->commission_banque, commission_courtier = $this->commission_courtier where id = $this->id";

			$resultat = mysql_query ($requete);
	
			if (!$resultat) {
				echo "Impossible d'exécuter la requête  dans la base : " . mysql_error();
				exit;
			}
	
		}else {
			echo 'connexion impossible...'.mysql_error();
		}
	
		mysql_close($con);
	
	
	}


}

?>











